package com.rockcent.mall.lib.dto;

import com.rockcent.common.common.PageResult;
import com.rockcent.common.domain.DtoEntity;
import com.rockcent.mall.lib.domain.Product;

import javax.persistence.Column;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Created by zhangjh on 2016/10/24.
 */
public class ChannelDto extends DtoEntity {
    /**
     * 名称
     */
    private String name;

    private Long channelTypeParentId;

    /**
     * 渠道ID集合
     */
    private List<Long> ids;

    /**
     * 渠道码
     */
    private String salesCode;

    /**
     * 二维码URL
     */
    private String promoteUrl;

    /**
     * 推广链接
     */
    private String sendOutUrl;

    /**
     * 分类ID集合
     */
    private List<Long> categoryIds;

    /**
     * 渠道产品列表
     */
    private List<Long> productIds;
    /**
     * 类型
     */
    private Long channelTypeId;
    /**
     * 流量估计
     */
    private String flowEstimation;
    /**
     * 渠道简介
     */
    private String intro;
    /**
     * 渠道描述
     */
    private String detail;

    private List<Map> categroys;
    /**
     * 生成编号
     */
    private String number;
    /**
     * 渠道状态
     */
    private String channelStatus;
    /**
     * 是否默认渠道
     */
    private Boolean isSystemDefault = false;
    /**
     *商户id
     **/
    private Long merchantId;

    /**
     * 平台id
     */
    private Long mallId;

    /**
     * 售出数
     */
    private Long saleCount=0l;

    /**
     * 核销数
     */
    private Long verifiedCount=0l;

    /**
     * 上架产品数
     */
    private Long productCount=0l;

    /**
     * 图标Url
     */
    private String iconUrl;
    /**
     * 产品列表
     */
    private List<Product> productList;
    /**
     * 访问数
     */
    private Long viewCount;

    private Double star;

    //活动名称
    private String activityName;
    //小程序标志
    private String appFlag;
    private String  appDefault ;//小程序默认渠道标志（供线上使用） (是:YES,否:NO)
    //渠道类型
    private String channelClientType;

    public List<Product> getProductList() {
        return productList;
    }

    public void setProductList(List<Product> productList) {
        this.productList = productList;
    }

    public String getIconUrl() {
        return iconUrl;
    }

    public void setIconUrl(String iconUrl) {
        this.iconUrl = iconUrl;
    }

    public Long getProductCount() {
        return productCount;
    }

    public void setProductCount(Long productCount) {
        this.productCount = productCount;
    }

    public List<Map> getCategroys() {
        return categroys;
    }

    public void setCategroys(List<Map> categroys) {
        this.categroys = categroys;
    }

    public Long getChannelTypeParentId() {
        return channelTypeParentId;
    }

    public void setChannelTypeParentId(Long channelTypeParentId) {
        this.channelTypeParentId = channelTypeParentId;
    }

    public String getName() {

        return name;
    }

    public List<Long> getProductIds() {
        return productIds;
    }

    public void setProductIds(List<Long> productIds) {
        this.productIds = productIds;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getChannelTypeId() {
        return channelTypeId;
    }

    public String getSalesCode() {
        return salesCode;
    }

    public void setSalesCode(String salesCode) {
        this.salesCode = salesCode;
    }

    public void setChannelTypeId(Long channelTypeId) {
        this.channelTypeId = channelTypeId;
    }

    public List<Long> getCategoryIds() {
        if(categoryIds==null){
            categoryIds=new ArrayList<Long>();
        }
        return categoryIds;
    }

    public void setCategoryIds(List<Long> categoryIds) {
        this.categoryIds = categoryIds;
    }

    public String getPromoteUrl() {
        return promoteUrl;
    }

    public void setPromoteUrl(String promoteUrl) {
        this.promoteUrl = promoteUrl;
    }

    public String getSendOutUrl() {
        return sendOutUrl;
    }

    public void setSendOutUrl(String sendOutUrl) {
        this.sendOutUrl = sendOutUrl;
    }

    public Long getSaleCount() {
        return saleCount;
    }

    public void setSaleCount(Long saleCount) {
        this.saleCount = saleCount;
    }

    public Long getVerifiedCount() {
        return verifiedCount;
    }

    public void setVerifiedCount(Long verifiedCount) {
        this.verifiedCount = verifiedCount;
    }

    public List<Long> getIds() {
        return ids;
    }

    public void setIds(List<Long> ids) {
        this.ids = ids;
    }

    public String getFlowEstimation() {
        return flowEstimation;
    }

    public void setFlowEstimation(String flowEstimation) {
        this.flowEstimation = flowEstimation;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public String getDetail() {
        return detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getChannelStatus() {
        return channelStatus;
    }

    public void setChannelStatus(String channelStatus) {
        this.channelStatus = channelStatus;
    }

    public Boolean getSystemDefault() {
        return isSystemDefault;
    }

    public void setSystemDefault(Boolean systemDefault) {
        isSystemDefault = systemDefault;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public Long getMallId() {
        return mallId;
    }

    public void setMallId(Long mallId) {
        this.mallId = mallId;
    }

    public Double getStar() {
        return star;
    }

    public void setStar(Double star) {
        this.star = star;
    }

    public Long getViewCount() {
        return viewCount;
    }

    public void setViewCount(Long viewCount) {
        this.viewCount = viewCount;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getAppFlag() {
        return appFlag;
    }

    public void setAppFlag(String appFlag) {
        this.appFlag = appFlag;
    }

    public String getAppDefault() {
        return appDefault;
    }

    public void setAppDefault(String appDefault) {
        this.appDefault = appDefault;
    }

    public String getChannelClientType() {
        return channelClientType;
    }

    public void setChannelClientType(String channelClientType) {
        this.channelClientType = channelClientType;
    }

    @Override
    public String toString() {
        return "ChannelDto{" +
                "name='" + name + '\'' +
                ", channelTypeParentId=" + channelTypeParentId +
                ", ids=" + ids +
                ", salesCode='" + salesCode + '\'' +
                ", promoteUrl='" + promoteUrl + '\'' +
                ", sendOutUrl='" + sendOutUrl + '\'' +
                ", categoryIds=" + categoryIds +
                ", productIds=" + productIds +
                ", channelTypeId=" + channelTypeId +
                ", flowEstimation='" + flowEstimation + '\'' +
                ", intro='" + intro + '\'' +
                ", detail='" + detail + '\'' +
                ", categroys=" + categroys +
                ", number='" + number + '\'' +
                ", channelStatus='" + channelStatus + '\'' +
                ", isSystemDefault=" + isSystemDefault +
                ", merchantId=" + merchantId +
                ", mallId=" + mallId +
                ", saleCount=" + saleCount +
                ", verifiedCount=" + verifiedCount +
                ", productCount=" + productCount +
                ", iconUrl='" + iconUrl + '\'' +
                ", productList=" + productList +
                ", viewCount=" + viewCount +
                ", star=" + star +
                ", activityName='" + activityName + '\'' +
                ", appFlag='" + appFlag + '\'' +
                ", appDefault='" + appDefault + '\'' +
                '}';
    }
}
